// String之间的转换使用 to 和 from 方法

// 实现ToString trait，使得类型可以转换为String
// 实现Display trait，使得类型可以用println!打印出来，并提供了默认的ToString实现

use std::fmt;

struct Circle {
    radius: i32
}

impl fmt::Display for Circle {
    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
        write!(f, "Circle of radius {}", self.radius)
    }
}

fn main() {
    let circle = Circle { radius: 6 };
    // 调用的to_string方法，实际是调用Display trait的fmt方法
    println!("{}", circle.to_string());
}